/**
 * 
 */
package cn.softTank.BpelFactory;

import cn.softTank.BpelModel.Assign;
import cn.softTank.BpelModel.Catch;
import cn.softTank.BpelModel.CatchAll;
import cn.softTank.BpelModel.CompensationHandler;
import cn.softTank.BpelModel.Copy;
import cn.softTank.BpelModel.CorrelationSets;
import cn.softTank.BpelModel.Correlations;
import cn.softTank.BpelModel.Empty;
import cn.softTank.BpelModel.EventHandler;
import cn.softTank.BpelModel.ExtensibleElement;
import cn.softTank.BpelModel.Extension;
import cn.softTank.BpelModel.Extensions;
import cn.softTank.BpelModel.FaultHandler;
import cn.softTank.BpelModel.Flow;
import cn.softTank.BpelModel.From;
import cn.softTank.BpelModel.FromPart;
import cn.softTank.BpelModel.FromParts;
import cn.softTank.BpelModel.Import;
import cn.softTank.BpelModel.Invoke;
import cn.softTank.BpelModel.JoinCondition;
import cn.softTank.BpelModel.Link;
import cn.softTank.BpelModel.Links;
import cn.softTank.BpelModel.MessageExchange;
import cn.softTank.BpelModel.MessageExchanges;
import cn.softTank.BpelModel.PartnerLink;
import cn.softTank.BpelModel.PartnerLinks;
import cn.softTank.BpelModel.Process;
import cn.softTank.BpelModel.Receive;
import cn.softTank.BpelModel.Reply;
import cn.softTank.BpelModel.Source;
import cn.softTank.BpelModel.Sources;
import cn.softTank.BpelModel.Target;
import cn.softTank.BpelModel.Targets;
import cn.softTank.BpelModel.To;
import cn.softTank.BpelModel.ToPart;
import cn.softTank.BpelModel.ToParts;
import cn.softTank.BpelModel.TransitionCondition;
import cn.softTank.BpelModel.Validate;
import cn.softTank.BpelModel.Variable;
import cn.softTank.BpelModel.Variables;
import cn.softTank.BpelModelImpl.AssignImpl;
import cn.softTank.BpelModelImpl.CopyImpl;
import cn.softTank.BpelModelImpl.EmptyImpl;
import cn.softTank.BpelModelImpl.FlowImpl;
import cn.softTank.BpelModelImpl.FromImpl;
import cn.softTank.BpelModelImpl.FromPartImpl;
import cn.softTank.BpelModelImpl.FromPartsImpl;
import cn.softTank.BpelModelImpl.ImportImpl;
import cn.softTank.BpelModelImpl.InvokeImpl;
import cn.softTank.BpelModelImpl.JoinConditionImpl;
import cn.softTank.BpelModelImpl.LinkImpl;
import cn.softTank.BpelModelImpl.LinksImpl;
import cn.softTank.BpelModelImpl.MessageExchangeImpl;
import cn.softTank.BpelModelImpl.MessageExchangesImpl;
import cn.softTank.BpelModelImpl.PartnerLinkImpl;
import cn.softTank.BpelModelImpl.PartnerLinksImpl;
import cn.softTank.BpelModelImpl.ProcessImpl;
import cn.softTank.BpelModelImpl.ReceiveImpl;
import cn.softTank.BpelModelImpl.ReplyImpl;
import cn.softTank.BpelModelImpl.SourceImpl;
import cn.softTank.BpelModelImpl.SourcesImpl;
import cn.softTank.BpelModelImpl.TargetImpl;
import cn.softTank.BpelModelImpl.TargetsImpl;
import cn.softTank.BpelModelImpl.ToImpl;
import cn.softTank.BpelModelImpl.ToPartImpl;
import cn.softTank.BpelModelImpl.ToPartsImpl;
import cn.softTank.BpelModelImpl.TransitionConditionImpl;
import cn.softTank.BpelModelImpl.VariableImpl;
import cn.softTank.BpelModelImpl.VariablesImpl;

/**
 * @author Yuzone (smartzxy@gmail.com)
 * 
 */
public class BpelFactoryImpl implements BpelFactory {

	/*
	 * (non-Javadoc)
	 * 
	 * @see cn.softTank.BpelFactory.BpelFactory#createAssign()
	 */
	@Override
	public Assign createAssign() {
		return new AssignImpl();
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see cn.softTank.BpelFactory.BpelFactory#createCatch()
	 */
	@Override
	public Catch createCatch() {
		// TODO Auto-generated method stub
		return null;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see cn.softTank.BpelFactory.BpelFactory#createCatchAll()
	 */
	@Override
	public CatchAll createCatchAll() {
		// TODO Auto-generated method stub
		return null;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see cn.softTank.BpelFactory.BpelFactory#createCompensationHandler()
	 */
	@Override
	public CompensationHandler createCompensationHandler() {
		// TODO Auto-generated method stub
		return null;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see cn.softTank.BpelFactory.BpelFactory#createCopy()
	 */
	@Override
	public Copy createCopy() {
		return new CopyImpl();
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see cn.softTank.BpelFactory.BpelFactory#createCorrelationSets()
	 */
	@Override
	public CorrelationSets createCorrelationSets() {
		// TODO Auto-generated method stub
		return null;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see cn.softTank.BpelFactory.BpelFactory#createCorrelations()
	 */
	@Override
	public Correlations createCorrelations() {
		// TODO Auto-generated method stub
		return null;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see cn.softTank.BpelFactory.BpelFactory#createEventHandler()
	 */
	@Override
	public EventHandler createEventHandler() {
		// TODO Auto-generated method stub
		return null;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see cn.softTank.BpelFactory.BpelFactory#createExtensibleElement()
	 */
	@Override
	public ExtensibleElement createExtensibleElement() {
		// TODO Auto-generated method stub
		return null;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see cn.softTank.BpelFactory.BpelFactory#createExtension()
	 */
	@Override
	public Extension createExtension() {
		// TODO Auto-generated method stub
		return null;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see cn.softTank.BpelFactory.BpelFactory#createExtensions()
	 */
	@Override
	public Extensions createExtensions() {
		// TODO Auto-generated method stub
		return null;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see cn.softTank.BpelFactory.BpelFactory#createFaultHandler()
	 */
	@Override
	public FaultHandler createFaultHandler() {
		// TODO Auto-generated method stub
		return null;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see cn.softTank.BpelFactory.BpelFactory#createFlow()
	 */
	@Override
	public Flow createFlow() {
		return new FlowImpl();
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see cn.softTank.BpelFactory.BpelFactory#createFrom()
	 */
	@Override
	public From createFrom() {
		return new FromImpl();
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see cn.softTank.BpelFactory.BpelFactory#createFromPart(java.lang.String,
	 * cn.softTank.BpelModel.Variable)
	 */
	@Override
	public FromPart createFromPart(String part, Variable value) {
		FromPart fp = new FromPartImpl();
		fp.setPart(part);
		fp.setToVariable(value);
		return fp;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see cn.softTank.BpelFactory.BpelFactory#createFromParts()
	 */
	@Override
	public FromParts createFromParts() {
		return new FromPartsImpl();
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see cn.softTank.BpelFactory.BpelFactory#createImport(java.lang.String)
	 */
	@Override
	public Import createImport(String importType) {
		Import i = new ImportImpl();
		i.setImportType(importType);
		return i;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see cn.softTank.BpelFactory.BpelFactory#createInvoke(java.lang.String,
	 * java.lang.String)
	 */
	@Override
	public Invoke createInvoke(String partnerLink, String operation) {
		Invoke i = new InvokeImpl();
		i.setPartnerLink(partnerLink);
		i.setOperation(operation);
		return i;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see cn.softTank.BpelFactory.BpelFactory#createLink(java.lang.String)
	 */
	@Override
	public Link createLink(String name) {
		Link l = new LinkImpl();
		l.setName(name);
		return l;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see cn.softTank.BpelFactory.BpelFactory#createLinks()
	 */
	@Override
	public Links createLinks() {
		return new LinksImpl();
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see
	 * cn.softTank.BpelFactory.BpelFactory#createMessageExchange(java.lang.String
	 * )
	 */
	@Override
	public MessageExchange createMessageExchange(String name) {
		MessageExchange m = new MessageExchangeImpl();
		m.setName(name);
		return m;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see cn.softTank.BpelFactory.BpelFactory#createMessageExchanges()
	 */
	@Override
	public MessageExchanges createMessageExchanges() {
		return new MessageExchangesImpl();
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see
	 * cn.softTank.BpelFactory.BpelFactory#createPartnerLink(java.lang.String,
	 * java.lang.String)
	 */
	@Override
	public PartnerLink createPartnerLink(String name, String partnerLinkType) {
		PartnerLink p = new PartnerLinkImpl();
		p.setName(name);
		p.setPartnerLinkType(partnerLinkType);
		return p;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see cn.softTank.BpelFactory.BpelFactory#createPartnerLinks()
	 */
	@Override
	public PartnerLinks createPartnerLinks() {
		return new PartnerLinksImpl();
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see cn.softTank.BpelFactory.BpelFactory#createProcess(java.lang.String,
	 * java.lang.String)
	 */
	@Override
	public Process createProcess(String name, String targetNamespace) {
		Process p = new ProcessImpl();
		p.setName(name);
		p.setTargetNamespace(targetNamespace);
		return p;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see cn.softTank.BpelFactory.BpelFactory#createReceive(java.lang.String,
	 * java.lang.String)
	 */
	@Override
	public Receive createReceive(String partnerLink, String operation) {
		Receive r = new ReceiveImpl();
		r.setPartnerLink(partnerLink);
		r.setOperation(operation);
		return r;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see cn.softTank.BpelFactory.BpelFactory#createReply(java.lang.String,
	 * java.lang.String)
	 */
	@Override
	public Reply createReply(String partnerLink, String operation) {
		Reply r = new ReplyImpl();
		r.setOperation(operation);
		r.setPartnerLink(partnerLink);
		return r;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see
	 * cn.softTank.BpelFactory.BpelFactory#createSource(cn.softTank.BpelModel
	 * .Link)
	 */
	@Override
	public Source createSource(Link value) {
		Source s = new SourceImpl();
		s.setLink(value);
		return s;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see cn.softTank.BpelFactory.BpelFactory#createSources()
	 */
	@Override
	public Sources createSources() {
		return new SourcesImpl();
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see
	 * cn.softTank.BpelFactory.BpelFactory#createTarget(cn.softTank.BpelModel
	 * .Link)
	 */
	@Override
	public Target createTarget(Link value) {
		Target t = new TargetImpl();
		t.setLink(value);
		return t;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see cn.softTank.BpelFactory.BpelFactory#createTargets()
	 */
	@Override
	public Targets createTargets() {
		return new TargetsImpl();
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see cn.softTank.BpelFactory.BpelFactory#createTo()
	 */
	@Override
	public To createTo() {
		return new ToImpl();
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see cn.softTank.BpelFactory.BpelFactory#createToPart(java.lang.String,
	 * cn.softTank.BpelModel.Variable)
	 */
	@Override
	public ToPart createToPart(String part, Variable value) {
		ToPart t = new ToPartImpl();
		t.setPart(part);
		t.setFromVariable(value);
		return t;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see cn.softTank.BpelFactory.BpelFactory#createToParts()
	 */
	@Override
	public ToParts createToParts() {
		return new ToPartsImpl();
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see cn.softTank.BpelFactory.BpelFactory#createValidate()
	 */
	@Override
	public Validate createValidate() {
		// TODO Auto-generated method stub
		return null;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see cn.softTank.BpelFactory.BpelFactory#createVariable(java.lang.String)
	 */
	@Override
	public Variable createVariable(String name) {
		Variable v = new VariableImpl();
		v.setName(name);
		return v;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see cn.softTank.BpelFactory.BpelFactory#createVariables()
	 */
	@Override
	public Variables createVariables() {
		return new VariablesImpl();
	}

	@Override
	public JoinCondition createJoinCondition(String value) {
		JoinCondition j = new JoinConditionImpl();
		j.setBoolExpression(value);
		return j;
	}

	@Override
	public TransitionCondition createTransitionCondition(String value) {
		TransitionCondition t = new TransitionConditionImpl();
		t.setBoolExpression(value);
		return t;
	}

	@Override
	public Empty createEmpty() {
		return new EmptyImpl();
	}

}
